<!--
 * @Description: 事件流
 * @Author: rendc
 * @Date: 2022-10-11 11:24:35
 * @LastEditors: rendc
 * @LastEditTime: 2022-10-12 09:34:32
-->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>事件流</title>
  <style>
    .outer{
      width: 300px;
      height: 300px;
      background-color: pink;
      border: 1px solid pink;
    }
    .middle{
      width: 200px;
      height: 200px;
      background-color: skyblue;
    }
    .inner{
      width: 100px;
      height: 100px;
      background-color: orange;
    }
  </style>
</head>
<body>
  <div class="outer" onclick="outer()">
    <div class="middle" onclick="middle()" onmousemove="mousemove()">
      <div class="inner" onkeydown="keydown(event)" onclick="inner(event)">点击事件</div>
    </div>
  </div>
  <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>10<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
</body>
<script>
  function inner(e){
    console.log('🤡 CC - inner - e', e);
    console.log('🤡 CC - inner - e', e.keyCode);
    console.log("inner");
  }
  function middle(){
    console.log("middle");
  }
  function outer(){
    console.log("outer");
  }
  function mousemove(){
    // console.log("mousemove");
    console.log(window.event);
  }
  function keydown(e){
    console.log('🤡 CC - e', e);
  }
  window.addEventListener("keydown", function (event) {
  if (event.defaultPrevented) {
    return; // 如果已取消默认操作，则不应执行任何操作
  }

  var handled = false;
  if (event.key !== undefined) {
    console.log('🤡 CC - event.key', event.key);
    // 复制 - 弹窗 - 开会员
    // 如果用户按下ctrl + c键 那就弹窗
    
    console.log('🤡 CC - event.key', event.keyCode);
    // 使用 KeyboardEvent.key 处理事件，并将 handled 设置为 true。
  } else if (event.keyCode !== undefined) {
    //使用 KeyboardEvent.keyCode 处理事件并将 handled 设置为 true。
  }

  if (handled) {
    // 如果事件已处理，则禁止“双重操作”
    event.preventDefault();
  }
}, true);
</script>
</html>